//
// SYS TIMER
//

//
// Registres des System Timer (seulement ceux qui nous intéressent)
#define SYS_TIMER_CS	0x20003000u
#define SYS_TIMER_CLO	0x20003004u
#define SYS_TIMER_C0	0x2000300Cu
// Constantes permettant la manipulation du timer control C0
#define SYS_TIMER_CS_M0_MASK	1U


//
// Attente active
// time_to_wait : temps à attendre en us
void active_wait(unsigned int time_to_wait)
{
	// On clear le bit M0 de CS
	set32(SYS_TIMER_CS, get32(SYS_TIMER_CS) & ~SYS_TIMER_CS_M0_MASK);
	// On règle le timer
	set32(SYS_TIMER_C0, get32(SYS_TIMER_CLO) + time_to_wait);
	// On attent
	while ((get32(SYS_TIMER_CS) & SYS_TIMER_CS_M0_MASK) == 0U);
}
